Prije nego počnemo sa radom, potrebno je da učitamo prethnodno instalirane R pakete koji će nam biti potrebni za rad sa datotekama i ispitivanje varijabli:
rm(list = ls()) # funkcija kojom čistimo radnu površinu
library('car') # Paket "car" ćemo koristiti za rekodiranje varijabli
library('psych') # Paket "psych" ćemo koristiti za prikazivanje mjera deskriptivne statistike
Učitavanje dio datoteke Crnogorske izborne studije 2016.
mnes <- read.csv("mnes_2016_chi.csv")
dim(mnes)
[1] 1213 6
head(mnes)
nac pol polint izl zparl intg
1 CG Muski 4 Da Da 5
2 CG Muski 2 Da Da 5
3 CG Zenski 4 Ne Da 4
4 CG Muski 2 Da Da 4
5 CG Zenski 4 Ne Da NA
6 CG Muski 4 Ne Ne NA
Baza podataka sadrži informacije o ispitanicima i njihovim političkim preferencijama:
nac:
nacionalna pripadnost istpitanikapol:
pol ispitanikapolint:
nivo političke zainteresovanostiizl:
izborna izlaznostzparl:
veće učešće žena u parlamentuintg:
vjerovanje da se glasovi pošteno broje (izborni integritet)efik:
nema razlike u odnosu na to ko je na vlasti (spoljašnja efikasnost)Istraživačka pitanja:
Hipoteze?
Odluku o tome koji metod ili tip analize koristimo u konkretnom slučaju zavisi prije svega od vrste podataka s kojom baratamo, odnosno skale mjerenja. Svakako, navedeni metodi u šematskom prikazu nijesu jedine dostupne statističke metode, ali jesu najčešće korišćene.
Napomena:istraživači nijesu uvijek u prilici sami odlučiti na koji način će varijable koje koriste biti mjerene. Iz tog razloga, četsto je potrebno da istraživači tranformišu (rekodiraju) postojeće varijable kako bi ih prilagodili potrebama konkretne analizae koju žele sprovesti. Ipak, poželjno je da , u mjere u kojoj je to moguće, vrsta podataka diktira metod analize a ne obrnuto.
Ukratko, Hi-kvadrat test nezavisnosti testira postoji li veza između dvije kategoričke varijable. Nulta i alternativna hipoteza u ovom slučaju glase:
H0: dvije varijable su nezavisne jedna od druge, ne postoji veza između dvije kategoričke varijable. Dakle, ukoliko smo upoznati sa vrijednostima na jednoj varijabli, to nam ne pomaže u predviđanju vrijednosti druge varijable.
H1: varijable su zavisne jedna od druge, postoji veza između dvije kategoričke varijable. Znanje o vrijednostima na jednoj varijabli pomaže u predviđanju vrijednosti druge varijable.
Hi-kvadrat test nezavisnosti djeluje upoređivanjem observiranih frekvencija (dakle frekvencija dobijenih u uzorku) s očekivanim frekvencijama ako ne bi postojala veza između dvije kategoričke varijable (dakle očekivane frekvencije ako je nulta hipoteza istinita).
Hi-kvadrat je formalni statistički test koji pokazuje da li je razlika u broju obzervacija među ćelijama tabele kontigencije (krostabulacije) statistički značajna ili ne. Sada ćemo kreirati tabelu kontigencije za varijable nacije i pola, koristići funkciju table()
sa kojom smo se već upoznali:
tabela1 <- table(mnes$pol, mnes$polint)
Ukoliko su dvije varijable u potpunosti nezavisne jedna od druge, onda bi očekivali da raspodjela jedna varijable bude približno slična po kategorijama druge varijable. Međutim, kako je tako nešto teško zaključiti iz prostih frekvencija, procentualno izražavanje je od velike koristi.
Funkcija prop.table()
služi da prethodno dobijenu tabelu konvertuje u frakcije (0-1), od kojih množenjem sa 100 dobijamo procente:
prop.table(tabela1) # konvertovanje tabele u frakcije
1 2 3 4
Muski 0.10132890 0.28073090 0.11295681 0.06810631
Zenski 0.04983389 0.18355482 0.10382060 0.09966777
prop.table(tabela1)*100 # pretvaranje frakcija u procente
1 2 3 4
Muski 10.132890 28.073090 11.295681 6.810631
Zenski 4.983389 18.355482 10.382060 9.966777
round(prop.table(tabela1)*100,0) # zaokruživanje procenata
1 2 3 4
Muski 10 28 11 7
Zenski 5 18 10 10
Primijetićemo da je ovo zajednička raspodjela vjerojatnoća, iz koje možemo vidjeti da je 5% uzorka otpada na veoma politički zainteresovane žene.
Češće nas, međutim, zanima distribucija jedne varijable unutar kategorije druge varijable. Ovđe se čini zanimljivom raspodjela kategorija političke zainteresovanosti unutar zasebnih polova. To možemo dobiti koristeći argument margin
za funkciju prop.table()
, đe je u redovima (margin = 1) ili u stupcima (margin = 2) varijabla grupisanja.
round(prop.table(tabela1, margin = 1)*100,0)
1 2 3 4
Muski 18 50 20 12
Zenski 11 42 24 23
round(prop.table(tabela1, margin = 2)*100,0)
1 2 3 4
Muski 67 60 52 41
Zenski 33 40 48 59
Ostalo je da formalno testiramo hipotezu koristeći Hi-kvadrat test nezavisnosti. Testiraćemo da li su rezlike u političkoj zainteresovanosti između polova. Koristićemo funckiju chisq.test()
u koju ćemo dodati ranije kreiranu tabelu kontigencije:
test1 <- chisq.test(tabela1)
test1
Pearson's Chi-squared test
data: tabela1
X-squared = 34.583, df = 3, p-value = 1.492e-07
Sve što vam treba pojavljuje se u ovom izlazu: naslov testa, koje su varijable korištene, statistika testa, stupnjevi slobode i p-vrijednost testa. Takođe možete pogledati i statistiku χ2 testa statistika.
P-vrijednost označava vjerovatnoću da smo napravili grešku I tipa, odnosno greškom odbacili nultu hipotezu.
P-vrijednost je u ovom slučaju izražena na veoma čudan način “1.492e-07”. Ovo je naučna notacija koja nije dovoljno čitljiva za svakodnevne potrebe. Izraz možemo pretvoriti u standardnu notaciju koristeći funkciju options()
i argument ``:
options(scipen = 999)
Ukoliko ponovo prikažemo rezultate testa, dobićemo konkretne cifre:
test1
Pearson's Chi-squared test
data: tabela1
X-squared = 34.583, df = 3, p-value = 0.0000001492
S obzirom da je p-vrijednost test hipoteze manji od 0.05 (5% vjerovatnoća greške) znači da imamo dovoljno dokaza da odbacimo nultu hipotezu o tome da su dvije varijable nezavisna jedna od druge. U ovom kontekstu, rezultat testa ukazuje na to postoji veza između pola i nivoa političke zainteresovanosti.
Sada možemo na isti način pristupiti testiranju ostalih hipoteza:
# kreiranje tabele kontigencije za varijable pol i izborna izlaznost
tabela2 <- table(mnes$pol, mnes$izl)
tabela2
Da Ne
Muski 579 95
Zenski 424 85
round(prop.table(tabela2, margin = 1)*100,0) # procentualno izražena distribucija frekvencija
Da Ne
Muski 86 14
Zenski 83 17
# sprovođenje Hi-kvadrat testa
test2 <- chisq.test(tabela2)
test2
Pearson's Chi-squared test with Yates' continuity correction
data: tabela2
X-squared = 1.3296, df = 1, p-value = 0.2489
Shodno rezultatu vidimo da je šansa da smo greškom odbacili nultu hipotezi o tome da nema odnosa između ove dvije varijable oko 25%, što je značajno iznad prihvatljivih 5%. Iz tog razloga možemo reći da nemamo dovoljno dokaza da odbacimo nultu hipotezu i zaključiti da se muštarci i žene u ovom uzorku ne razlikuju po pitanju vjerovatnoće da će izaći na birališta.
# kreiranje tabele kontigencije za varijable pol i stava prema većem učešću žena u parlamentu
tabela3 <- table(mnes$pol, mnes$zparl)
tabela3
Da Ne
Muski 411 206
Zenski 448 48
round(prop.table(tabela3, margin = 1)*100,0) # procentualno izražena distribucija frekvencija
Da Ne
Muski 67 33
Zenski 90 10
# sprovođenje Hi-kvadrat testa
test3 <- chisq.test(tabela3)
test3
Pearson's Chi-squared test with Yates' continuity correction
data: tabela3
X-squared = 86.419, df = 1, p-value < 0.00000000000000022
Očekivano iz tabele kontigencije možemo viđeti da postoje razlike u stavovima između dva pola. Hi-kvadrat test pokazao je da je ova razlika statistički značajna na nivou p < 0.05.
# kreiranje tabele kontigencije za varijable nacija i vjerovanja u izborni integritet
tabela4 <- table(mnes$nac, mnes$intg)
tabela4
1 2 3 4 5
AL 16 9 11 6 0
BS 81 37 24 28 5
CG 164 106 82 148 95
SR 20 27 29 95 71
Iz tabele kontigencije se vidi da je varijabla vjerovanja u izborni integrit ima 5 kategorija. Najčešće se varijable koji imaju 5 ili više kategorija tretiraju kao intervalne varijable. Stoga, da bi primijenili Hi-kvadrate test na ovu varijablu prvo je moramo rekodirati. To ćemo uraditi tako što ćemo izdvojiti kategorije onih koji vjeruju da se pošteno brojanje glasova uglavnom ili nikad ne dešava.
# rekodiranje varijable izbornog integritet u dihotomnu (dummy). Kategorija "1" u ovom slučaju znači da osoba ne vjeruje da se glasovi boje pošteno.
mnes$intg_d <- recode(mnes$intg, "1:3=0; 4:5=1; else = NA")
table(mnes$intg_d)
0 1
625 464
# kreiranje tabele kontigencije za varijable nacija i vjerovanja u izborni integritet (dummmy)
tabela4 <- table(mnes$nac, mnes$intg_d)
tabela4
0 1
AL 36 6
BS 142 33
CG 352 243
SR 76 166
round(prop.table(tabela4, margin = 1)*100,0) # procentualno izražena distribucija frekvencija
0 1
AL 86 14
BS 81 19
CG 59 41
SR 31 69
# sprovođenje Hi-kvadrat testa
test4 <- chisq.test(tabela4)
test4
Pearson's Chi-squared test
data: tabela4
X-squared = 121.81, df = 3, p-value < 0.00000000000000022
Hi-kvadrat test pokazao je da razlika između ćelija tabele statistički značajna na nivou p < 0.05. Na osnovu ovih podataka možemo reći da imamo dovoljno dokaza da odbacimo nultu hipotezu koja tvrdi da ne postoji veza između nacije i vjerovanja u izborni integritet.
It is also possible to create a contingency table for each level of a third categorical variable thanks to the combination of the stby() and ctable() functions. There are only 2 categorical variables in our dataset, so let’s use the tabacco dataset which has 4 categorical variables (i.e., gender, age group, smoker, diseased). For this example, we would like to create a contingency table of the variables smoker and diseased, and this for each gender:
mytable <- xtabs(~ nac + intg_d + pol, data= mnes)
mytable
, , pol = Muski
intg_d
nac 0 1
AL 21 4
BS 74 18
CG 204 126
SR 47 105
, , pol = Zenski
intg_d
nac 0 1
AL 15 2
BS 68 15
CG 148 116
SR 29 61
Ukoliko istu multidimenzionalnu tabelu želimo prikazati na nešto čitljiviji i kompaktniji način, to možemo uraditi koristeći funkciju ftable()
:
ftable(mytable)
pol Muski Zenski
nac intg_d
AL 0 21 15
1 4 2
BS 0 74 68
1 18 15
CG 0 204 148
1 126 116
SR 0 47 29
1 105 61
Da li je ranije utvrđena veza između varijabli nacija i vjerovanje u izborni integritet postoji jednako među biračima muškog i ženskog pola možemo provjeriti na način što ćemo: 1) uzorak podijeliti u dva poduzorka na osnou pola; 2) sprovesti Hi-kvadrat test zasebno u dva poduzorka:
mnes_z <- subset(mnes, pol=="Zenski") # kreiranje poduzorka ispitanika ženskog pola
mnes_m <- subset(mnes, pol=="Muski") # kreiranje poduzorka ispitanika muškog pola
tabela5_z <- table(mnes_z$nac, mnes_z$intg_d)
tabela5_m <- table(mnes_m$nac, mnes_m$intg_d)
test5_z <- chisq.test(tabela5_z)
test5_z
Pearson's Chi-squared test
data: tabela5_z
X-squared = 50.514, df = 3, p-value = 0.00000000006209
test5_m <- chisq.test(tabela5_m)
test5_m
Pearson's Chi-squared test
data: tabela5_m
X-squared = 73.549, df = 3, p-value = 0.0000000000000007415
Na osnovu rezultata možemo zaključiti da utvrđeni odnos između varijabli nacija i vjerovanje u izborni integritet postoji jednako među biračima muškog i ženskog pola.